package com.choosefine.it.worker.model;

import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.List;

import com.choosefine.it.base.Base;
import com.fasterxml.jackson.annotation.JsonIgnore;
/**
 * 工人工作详情信息
 * 
 * @auth liaozhanggen 2016-12-2 上午10:03:41
 *
 */
public class WorkDetailInfo extends Base {

	private static final long serialVersionUID = 1L;
	
	@JsonIgnore
	@ApiModelProperty(value="员工和班组的关系ID",required=true)
	private int workerTeamRelationId;	//员工和班组的关系ID 
	
	@ApiModelProperty(value="项目编号",required=true)
	private String projectCode;	//项目编号
	
	@ApiModelProperty(value="项目名称",required=true)
	private String projectName;	//项目名称

	@ApiModelProperty(value="项目开工时间",required=true)
	private Long projectStartTime;	//项目开工时间
	
	@ApiModelProperty(value="项目承包联系人",required=true)
	private String projectContractorName;	//项目承包联系人
	
	@ApiModelProperty(value="地址",required=true)
	private String projectAddress;		//地址
	@ApiModelProperty(value = "市")
	private String provinceArea;
	@ApiModelProperty(value = "市Code")
	private String provinceCode;
	@ApiModelProperty(value = "市")
	private String cityArea;
	@ApiModelProperty(value = "市Code")
	private String cityCode;


	@JsonIgnore
	@ApiModelProperty(value="班组id",required=true)
	private int teamId;	//班组id
	
	@ApiModelProperty(value="班组名称",required=true)
	private String teamName;
	
	@ApiModelProperty(value="承包类型",required=true)
	private int contractType;	//承包类型
	
	@ApiModelProperty(value="班组挂靠单位id",required=true)
	private int affiliatedUnitsId;	//班组挂靠单位id
	
	@ApiModelProperty(value="班组挂靠单位",required=true)
	private String affiliatedUnitName;	//班组挂靠单位

	@JsonIgnore
	@ApiModelProperty(value="班组承包人user code",required=true)
	private String teamUserCode;	//班组承包人user code
	
	@ApiModelProperty(value="班组承包人信息",required=true)
	private String teamContractorName;	//班组承包人信息

	@ApiModelProperty(value = "工程地区", required = false)
	private String projectArea;
	@ApiModelProperty(value = "总的应付")
	private BigDecimal totalReceivable;
	@ApiModelProperty(value = "总的已付")
	private BigDecimal totalReceived;
	@ApiModelProperty(value = "总的未付")
	private BigDecimal totalUnpaid;
	@ApiModelProperty(value = "分包承包人姓名")
	private  String userName;

	@ApiModelProperty(value="月份列表",required=true)
	private List<WorkerSalaryMonth> salaryMonthList;	//月份列表

	//add by juchengyang 工程地区


	public String getProvinceArea() {
		return provinceArea;
	}

	public void setProvinceArea(String provinceArea) {
		this.provinceArea = provinceArea;
	}

	public String getProvinceCode() {
		return provinceCode;
	}

	public void setProvinceCode(String provinceCode) {
		this.provinceCode = provinceCode;
	}

	public String getCityArea() {
		return cityArea;
	}

	public void setCityArea(String cityArea) {
		this.cityArea = cityArea;
	}

	public String getCityCode() {
		return cityCode;
	}

	public void setCityCode(String cityCode) {
		this.cityCode = cityCode;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public BigDecimal getTotalReceived() {
		return null == totalReceived ? new BigDecimal(0.00).setScale(2) : totalReceived;
	}

	public void setTotalReceived(BigDecimal totalReceived) {
		this.totalReceived = null == totalReceived ? new BigDecimal(0.00).setScale(2) : totalReceived;
	}

	public BigDecimal getTotalReceivable() {
		return totalReceivable==null?new BigDecimal(0.00).setScale(2):totalReceivable;
	}

	public void setTotalReceivable(BigDecimal totalReceivable) {
		this.totalReceivable = totalReceivable;
	}

	public BigDecimal getTotalUnpaid() {
		return totalUnpaid;
	}

	public void setTotalUnpaid(BigDecimal totalUnpaid) {
		this.totalUnpaid = totalUnpaid;
	}

	public int getWorkerTeamRelationId() {
		return workerTeamRelationId;
	}

	public void setWorkerTeamRelationId(int workerTeamRelationId) {
		this.workerTeamRelationId = workerTeamRelationId;
	}

	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	public Long getProjectStartTime() {
		return projectStartTime;
	}

	public void setProjectStartTime(Long projectStartTime) {
		this.projectStartTime = projectStartTime;
	}

	public String getProjectContractorName() {
		return projectContractorName;
	}

	public void setProjectContractorName(String projectContractorName) {
		this.projectContractorName = projectContractorName;
	}

	public String getProjectAddress() {
		return projectAddress;
	}

	public void setProjectAddress(String projectAddress) {
		this.projectAddress = projectAddress;
	}

	public int getTeamId() {
		return teamId;
	}

	public void setTeamId(int teamId) {
		this.teamId = teamId;
	}

	public String getTeamName() {
		return teamName;
	}

	public void setTeamName(String teamName) {
		this.teamName = teamName;
	}

	public int getContractType() {
		return contractType;
	}

	public void setContractType(int contractType) {
		this.contractType = contractType;
	}

	public int getAffiliatedUnitsId() {
		return affiliatedUnitsId;
	}

	public void setAffiliatedUnitsId(int affiliatedUnitsId) {
		this.affiliatedUnitsId = affiliatedUnitsId;
	}

	public String getAffiliatedUnitName() {
		return affiliatedUnitName;
	}

	public void setAffiliatedUnitName(String affiliatedUnitName) {
		this.affiliatedUnitName = affiliatedUnitName;
	}

	public String getTeamUserCode() {
		return teamUserCode;
	}

	public void setTeamUserCode(String teamUserCode) {
		this.teamUserCode = teamUserCode;
	}

	public String getTeamContractorName() {
		return teamContractorName;
	}

	public void setTeamContractorName(String teamContractorName) {
		this.teamContractorName = teamContractorName;
	}

	public List<WorkerSalaryMonth> getSalaryMonthList() {
		return salaryMonthList;
	}

	public void setSalaryMonthList(List<WorkerSalaryMonth> salaryMonthList) {
		this.salaryMonthList = salaryMonthList;
	}

	public String getProjectArea() {
		return projectArea;
	}

	public void setProjectArea(String projectArea) {
		this.projectArea = projectArea;
	}
	
}